package com.shxy.cloudclassroom.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shxy.cloudclassroom.entity.pojo.ForumPost;
import com.shxy.cloudclassroom.entity.pojo.ForumReply;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.shxy.cloudclassroom.entity.vo.ForumPostDetailVO;
import jakarta.servlet.http.HttpSession;

import java.util.List;
import java.util.Map;

public interface ForumPostService extends IService<ForumPost> {
    /**
     * 获取论坛帖子列表
     * @param forumPostPage 分页对象
     * @param wrapper 查询条件
     * @return 帖子列表
     */
    List<ForumPost> getForumPostList(Page<ForumPost> forumPostPage, LambdaQueryWrapper<ForumPost> wrapper);

    /**
     * 发布帖子
     * @param post 帖子对象
     * @param session 用户会话
     * @return 发布结果
     */
    Map<String, Object> publishPost(ForumPost post, HttpSession session);

    /**
     * 获取帖子详情
     * @param id 帖子ID
     * @param page 页码
     * @param size 每页大小
     * @param session 用户会话
     * @return 帖子详情及相关信息
     */
    ForumPostDetailVO getPostDetail(Integer id, Integer page, Integer size, HttpSession session);

    /**
     * 回复帖子
     * @param reply 回复对象
     * @param postId 帖子ID
     * @param session 用户会话
     * @return 回复结果
     */
    Map<String, Object> replyPost(ForumReply reply, Long postId, HttpSession session);
}